perm filename PAPERA.6[DOC,TOB] blob sn#027204 filedate 1973-02-24 generic text, type T, neo UTF8
00100			     COMPUTER VISION
00200				   by
00300	             Thomas O. Binford, Stanford University    and
00400	             Jay M. Tenenbaum,  Stanford Research Institute
00500	
00600	
00700				Introduction.
00800	
00900	Computer perception is studied for its obvious practical applications
01000	and for the insights it provides into complex system organization and
01100	the nature of human  and  artificial  intelligence.  In  constructing
01200	machines that see, we seek answers to a broad range of questions: How
01300	should the system be partitioned functionally? What control structure
01400	is    needed?    What   are   inherent   computational   limits,   in
01500	interconnections for  parallel  machines;  in  computation  time  for
01600	serial machines?   Many of the problems encountered are widespread in
01700	intelligence: How is knowledge represented? How is it  integrated  in
01800	the system? How does it guide in drawing conclusions from image data?
01900	How does knowledge interact with conclusions drawn  from  the  image?
02000	Given  a  system,  what  can  it  see?   What is necessary for visual
02100	learning? What are given systems capable of  learning?  Many  results
02200	cannot be taken literally as models for biological systems because of
02300	differences in hardware and gaps in our  knowledge,  but  fundamental
02400	limitations  are  shared,  and  many  examples  are  applicable.  The
02500	research may occasionally borrow from biology,  but  we  cannot  copy
02600	nature,  since  the  details  are  not  known  and  the  hardware  is
02700	different.
02800	
02900	Issues that arise in mechanizing perception also arise in many  other
03000	areas  of artificial intelligence and computer science. Visualization
03100	is an important part of problem-solving and mathematics.  Graphs  and
03200	visual  displays  are  an  vital to communication.  Representation of
03300	knowledge and its use in goal-directed ways are universal problems in
03400	intelligence.
03500	
03600	Representations of shape are important in augmenting productivity and
03700	man-machine communication.   The use of computer graphics and  design
03800	automation  is  already  common in industry.  The information already
03900	available from these design processes can be used by computers to aid
04000	in  controlling  parts  and  material  flow,  in  designing transport
04100	systems,  in  extending  modularity  and  commonality  of  parts  and
04200	procedures,and   in   monitoring  and  scheduling  production.  These
04300	abilities,  which  require  some  of  the  most  sophisticated   A.I.
04400	techniques, will have a profound effect on near term productivity.
04500	
04600	Industry   uses   hundreds   of   industrial  robots,  some  computer
04700	controlled. Touch and simple vision can incrementally  improve  these
04800	robots  which  now  have  no sensing and thus no contingency actions.
04900	Sensor equipped robots coupled to  mini-computers  will  be  able  to
05000	sense  color and strong brightness contrasts, recognize known objects
05100	from two dimensional outlines (e.g., the top view of a  flat  object)
05200	or  three  dimensionally,  by  determining depth.  With these skills,
05300	they will be able to  align  mating  parts  in  assembly  operations,
05400	increase reliability by self-calibration, detect flaws and disasters,
05500	and permit large tolerances in parts transfer, even permitting  parts
05600	to be taken from a bin.
05700	
05800	
05900	We are interested in visual systems for function of an organism  such
06000	as  a  robot  that  must manipulate or avoid objects rather than just
06100	classifying   them.     Manipulation    requires    three-dimensional
06200	interpretations  and spatial relations of objects. Certain techniques
06300	have evolved for simpler problems; e.g.  template matching or  vector
06400	space  classification  for character recognition. It seems attractive
06500	to simply save images or feature vectors, then match against a  scene
06600	or  part  of  a  scene.  But  objects occlude one another, parts have
06700	joints  which  move  separately,  there  are  many  viewpoints,  many
06800	possible  objects,  and  many combinations of objects. Object classes
06900	are often defined by function, not shape (eg. coffee  cups).  Complex
07000	deductions  are  necessary to obtain spatial relations from an image.
07100	Finally, we must frequently deal with new  objects.  Direct  template
07200	matching techniques are impractical for these requirements, except in
07300	very carefully controlled applications.
     

00100		ELEMENTS OF A VISUAL SYSTEM
00200	
00300	The  computer  eye is some form of tv camera with color filters and a
00400	turret or zoom  lens  for  closeup  views.    The  computer  controls
00500	filters,  lens  and  other  parameters to optimize the image for each
00600	task [Tenenbaum].  Sensor systems have inadequate dynamic  range  but
00700	system  design studies suggest better compromises [Binford].   Humans
00800	use depth information  obtained  from  stereo  and  motion  parallax.
00900	Several  depth  sensors based on triangulation have been built [Agin,
01000	Shirai, Munson]. Range information with color should greatly simplify
01100	interpretation of scenes.
01200	
01300	The  image  is  read  into  memory  as  an array of brightness values
01400	(typically 300x300) with 4-8 bits for each sample for each color. The
01500	process  of  interpreting  this  mass  of  numbers  into  a  symbolic
01600	description can  be  thought  of  as  subdivided  into  segmentation,
01700	representation, and interpretation.
01800	
01900	The  process of segmentation of a scene partitions it into meaningful
02000	entities which  may  be  recognizable.    Segmentation  in  character
02100	recognition  is simple since printed characters are clearly separated
02200	and labelled by black on white. It is harder to segment objects in  a
02300	real  scene  (even  simple  scenes)  because  there are many possible
02400	properties for segmentation: uniformity of brightness, color, texture
02500	(itself  a  complex descriptor), regularity of boundaries, contiguity
02600	of depth (given stereo or other  depth  measurements).   Segmentation
02700	may  also  depend  on  depth  cues  from  interpretation  of  texture
02800	gradients and occlusion.
02900	
03000	In what form do we represent objects internally in the computer?  The
03100	simplest  form is a pictorial template, an array of brightness values
03200	to be matched directly against fragments of  scenes  by  correlation.
03300	Given  the  inadequacies  of  this  representation,  we must describe
03400	partitioned regions symbolically in terms of extracted features  like
03500	color,  size,  texture, and shape.  All these properties are inferred
03600	by complex processes from the image.  Simple descriptors for shape or
03700	texture may be used in simple tasks and limited context.  Shape might
03800	be described by the ratio of the squared perimeter to the area  of  a
03900	region.  More sophisticated shape representations, needed for a wider
04000	range of tasks, are described later.
04100	
04200	Interpretation is often expressed as  computing  a  distance  measure
04300	between  an  object and a stored model.  For simple cases that can be
04400	useful.   When objects are occluded, there must be a  partial  match.
04500	When  objects  are  not  identical, judgments of similarity depend on
04600	representation of shape and representation of the task, in  order  to
04700	define  important  differences.  The most useful approach is to build
04800	up  symbolic  descriptions  and   make   symbolic   descriptions   of
04900	differences.   Sometimes,  there  are few enough models that matching
05000	with each model is possible. More generally, interpretation must make
05100	use of a large visual memory.
05200	
05300	Because  of the evident interconnection of these three processes, one
05400	cannot proceed sequentially through segmentation, representation  and
05500	interpretation   and   expect   to   obtain   a  globally  consistent
05600	interpretation for all objects  in  a  scene.  Segmentation  must  be
05700	guided   by   interpretation   to   choose   among  many  alternative
05800	segmentations and interpretations to achieve globally consistent  and
05900	reasonable interpretations.
     

00100			BLOCKS WORLD
00200	
00300	To avoid some of these difficulties, research concentrated  initially
00400	on  scenes  of  blocks.  Roberts' important work opened the field [].
00500	Objects were represented as built up  of  three  primitive  parts,  a
00600	block,  a  wedge, and a hexagonal prism. The program assumed it would
00700	first obtain perfect line drawings. Interpretation  meant  finding  a
00800	three-dimensional model which after translation, rotation and scaling
00900	could be projected to match part of the image.  The recognized  piece
01000	was  then  cut  away  and  the remainder considered.  Primitives were
01100	represented by their vertices in three  dimensions.    To  decide  on
01200	likely  image  points  which  belonged  to a single body, the program
01300	attempted  to  identify  unobscured  polygons,  then  match  sets  of
01400	vertices  to topologically similar model vertices. Line drawings were
01500	formed by a sequence of local operations.  Candidate edge points were
01600	considered  by  thresholding the gradient of intensity. Isolated edge
01700	points were discarded.  Connected line  fragments  were  concatenated
01800	into  lines  which  were  segmented  at corners by a sequential least
01900	squares line fit.  Merging of colinear lines bridged some gaps.
02000	
02100	That system organization has proven inadequate. It is not  enough  to
02200	use  models and template matching. Producing perfect line drawings is
02300	not practical:  some  lines  are  missed;  shadows,  reflections  and
02400	surface  markings  cause  extra  lines;  errors made at one stage are
02500	compounded by later stages.  These deficiencies motivated  subsequent
02600	research.
02700	
02800	Guzman  []  found  it possible to segment complex scenes into objects
02900	without template matching, by observing that some vertices give local
03000	evidence  that adjacent regions belong to the same body. In figure 2,
03100	vertices A,B, and C give evidence that adjacent regions belong to the
03200	same  body.    But  vertex  D  gives  wrong  evidence.  To avoid such
03300	coincidences, the program required confirmation.      Regions  linked
03400	twice  were  joined  into clusters; regions linked twice to a cluster
03500	were also joined.  Regions linked only to a single cluster were  also
03600	joined  to  that  cluster. Eventually, the program evolved to include
03700	inhibitions against certain links by requiring similar conditions  at
03800	both  ends  of  a  line.   Other  links  were introduced without much
03900	motivation.   This program was an important advance.    Bodies  could
04000	be  segmented  without  recognition and without explicit models.  The
04100	program did surprisingly well, but had problems with holes and  other
04200	non-convexities,  and  with  accidental  alignment.    It depended on
04300	being told the background.  It was also unsatisfactory, since it  was
04400	not  an understanding but recipes for segmentation.  These techniques
04500	did not extend far. Falk [] realized that missing edges cause regions
04600	to  be  non-planar, and that by joining lines together into bodies by
04700	techniques similar to those of Guzman, some errors could  be  avoided
04800	which allowed these techniques to deal with imperfect line drawings.
04900	
05000	Huffman  []  and  Clowes [] made theoretical analyses of objects with
05100	only  trihedral  vertices  (three  planes  at  each  vertex).      By
05200	classifying  edges  as  convex,  concave  and  obscuring,  they could
05300	require consistent labels for a drawing, and reject some drawings  as
05400	impossible  objects  under their conditions.   Waltz [] expanded that
05500	labelling of lines to include cracks  and  whether  adjacent  regions
05600	were  shadowed  or illuminated. Each vertex had many interpretations.
05700	It would seem that such large  numbers  of  possible  interpretations
05800	would   be   unmanageable.    instead,  the  increased  precision  of
05900	descriptions allows rapid discarding of wrong  interpretations.   Not
06000	only  are solutions possible, they are quickly obtained. Instead of a
06100	complete tree  search,  it  was  adequate  to  consider  vertices  in
06200	sequence, eliminating inconsistent interpretations as each new vertex
06300	was added.  This produced all possible interpretations  of  a  scene.
06400	However,   some   evaluations  were  possible  to  choose  reasonable
06500	interpretations, in cases with ambiguous interpretations.
06600	
06700	
06800	
06900	
07000	
07100	The best performance in segmenting image data is given by the  Shirai
07200	[]  and  the  Binford-Horn [] line finders.  Shirai's system performs
07300	much better.   However, it requires large  contrast  with  background
07400	(white  on black), and finds only features and objects for which cues
07500	are available from context.   The Binford-Horn system is able to find
07600	most  lines  in  a  scene  of  white  blocks on a white background in
07700	arbitrary lighting.  It misses a few lines which are found later, and
07800	garbles  some  vertices.    The  two  are complementary and should be
07900	combined.
08000	
08100	The two programs are based on different principles.  Shirai's program
08200	began  with  only  outer  boundaries,  and  tried to guess as much as
08300	possible at each stage.    At vertices,  the  extension  of  boundary
08400	lines  was  tested.  Completions for unterminated lines were searched
08500	for.    Additional lines were tested for at vertices, including  some
08600	parallel  to lines at adjacent vertices.  The use of context involved
08700	not changing thresholds, but using special-purpose operators:  verify
08800	a line at known position and angle; find a line through a vertex. The
08900	Binford-Horn system was intended to provide the  base  for  a  system
09000	such  as Shirai's by providing a partial line drawing without special
09100	background.  It used a local directional edge operator and an optimal
09200	curve  sequential  decision process to extend curves and test at each
09300	extension, whether to keep, terminate, or extend further.
09400	
09500	It is interesting  to  compare  these  systems  with  the  biological
09600	system.   Directional  edge  operators  are  scanned  over  the image
09700	[Binford, Hueckel]; these compare with the edge detector cells []  in
09800	higher  animals.    In  practice,  large gradients at reflections and
09900	curved surfaces cause masses of spurious edge fragments.  These  were
10000	eliminated  by  subtracting  the  local  average  at each point, thus
10100	subtracting out smooth gradients [Binford].  This process is familiar
10200	as lateral inhibition in the retina of animals.
10300	
10400	
10500	
     

00100			REAL WORLD VISION
00200	
00300	
00400	
00500	The  blocks  world  illustrates  many  basic   aspects   of   machine
00600	perception,   but   many   other  critical  problems  encountered  in
00700	perceiving real world scenes do not  arise.   Important  problems  in
00800	segmentation   were   avoided  by  using  uniformly  painted  blocks.
00900	Segmentation  of  boundaries  was  specialized  to  straight   lines.
01000	Region-growing and edge-finding techniques require generalizations to
01100	regions of uniform texture.
01200	
01300	In some cases we are interested in representing gross characteristics
01400	of shape, texture and other features, eg for description of trees. In
01500	other cases, we are interested  in  more  complex  descriptions  than
01600	characterized  polyhedra,  as  in  descriptions  of machined parts or
01700	people.
01800	
01900	It is not conceivable in  real  world  scenes  to  search  through  a
02000	complete set of known prototypes seeking interpretations.  The system
02100	must limit interpretations to those familiar in the context, and  use
02200	brief  descriptions  to  select  a  small  subset  of possible object
02300	interpretations.
02400	
02500	The  same  information  overload   affects   segmentation   and   the
02600	interconnection of segmentation with interpretation.  The overload is
02700	not to be solved by  merely  building  faster  computers  and  bigger
02800	memories;  hardware  improvements will aid adequate techniques but do
02900	little for exhaustive techniques.
03000	
03100	Description of simple polyhedral scenes was  difficult  enough;  with
03200	these  added  obstacles,  is there hope for success in perceiving the
03300	real world? The full problem is broader, in some places  deeper,  but
03400	in  many places shallower.  For blocks, we restricted our programs to
03500	black and white images and distinguished structures of blocks  solely
03600	on  the  basis  of  shape.  In the real world, we use color, texture,
03700	depth, size (which is not very  relevant  for  blocks),  and  surface
03800	orientation.   Our  goal  is  not  complete descriptions; for a given
03900	task, the system need be concerned with only a few objects  necessary
04000	for  its  goals.   Shapes  of  complex  objects,  while  they  may be
04100	difficult to describe, often  discriminate  very  simply  from  other
04200	objects  of  interest.   Real world objects are found in well-defined
04300	contexts; eg telephones are attached to cords. Depth  information  is
04400	particularly powerful.
     

00100			REAL WORLD VISION
00200	
00300	Studies for agricultural and earth resources surveys have  considered
00400	texture as a two-dimensional problem.  Bajcsy [] has analyzed outdoor
00500	scenes for which perspective and  three-dimensional  description  are
00600	important.      Textures  were  described  by  structures  of texture
00700	elements with spatial relations.  Descriptors  for  texture  elements
00800	and   relations   were   obtained  from  the  Fourier  transform  for
00900	directionality (if any),  size,  contrast,  and  spacing  of  texture
01000	elements.    The  Fourier  transform  was  found troublesome,however.
01100	Color and texture regions were obtained.  Some depth relations  could
01200	be  observed  from  texture gradient.   An attempt was made to obtain
01300	consistent interpretations by first confirming region  boundaries  by
01400	independent properties, making three-dimensional interpretations, and
01500	matching region descriptors with those of sky, trees, grass, etc.  in
01600	a world model.
01700	
01800	The  quality  of  interpretation  was  limited  by  unreliability  of
01900	region-growing processes. Further work in outdoor scenes attempts  to
02000	incorporate  the  world  model  and  interpretation  into  the region
02100	growing process. Regions are merged not only because of similarity of
02200	properties, but because the consistency of semantic interpretation is
02300	improved.
     

00100		Representation
00200	
00300	
00400	We  do  not  think  a  single representation is adequate throughout a
00500	system,  but  we  have  attempted  to  analyze  tasks  in  terms   of
00600	computational primitives required for descriptions of shape which are
00700	adequate for typical robot  tasks  such  as  manipulation,  collision
00800	avoidance,  display,  and  recognition.  Although many would disagree
00900	with our criteria, the design criteria were:[]
01000	a) Representations should be symbolic at a high level in order
01100	to interface with knowledge of the problem domain.
01200	b) Representations should depend on segmentation into parts,
01300	which may have subparts.
01400	c) Primitives should be three-dimensional volume descriptions,
01500		rather than surface descriptions.
01600	d) Descriptions should be generative.  A modest collection of
01700	primitives should allow description of a vast set of objects.
01800	
01900	Figures  show  experimental  results  of  computer descrition of some
02000	objects [Agin].  They give some indication of the primitives  of  the
02100	representations, and their power, even with preliminary programs. The
02200	representations [Binford 1971] depend upon segmentation  to  describe
02300	complex   objects   in  terms  of  parts.   The  representations  are
02400	grqph-structured.  Parts  are  structures  of  the  same  form.   The
02500	description of a man is shown below.
02600			       [HEAD]
02700				 |
02800				NECK
02900				 |
03000		      [ARM]--<SHOULDERS>--[ARM]
03100				 |
03200			       TRUNK
03300				 |
03400			      <HIPS>
03500			      |    |
03600			  [LEG]    [LEG]
03700	The utility of these  representations  lies  in  defining  primitives
03800	which  allow  a  natural  choice  of  parts.   Parts  are  joined  by
03900	"pasting"; holes are made by "cutting".
04000	
04100	Primitive parts are described  by  "generalized  local  translational
04200	invariance",   a   formal  construction  which  generates  solids  by
04300	transforming and translating an arbitrary cross section along a space
04400	curve  (the  axis).   If the transformation scales the cross section,
04500	then the solid generated is locally conical.  The  representation  is
04600	thus  specified  by  an axis which is a space curve, and an arbitrary
04700	normal cross section along the axis.   Snake-like  objects,  helices,
04800	toroids,  and  locally  helical  and  toroidal  shapes  are naturally
04900	described.
     

00100				Conclusion.
00150	
00300	Recently, several laboratories have begun to apply techniques
00400	from perception research to practical industrial tasks.
00450	Stanford University has completed assembly of a simple device.
00500	General Motors laboratories has succeeded in mounting a wheel on 
00600	an axle. Stanford Research Institute and Hitachi Ltd. have each
00700	demonstrated systems which can distinguish sheet metal parts
00800	on a moving conveyor belt and determine their orientation to enable
00900	manipulation. Template matching techniques were used to take 
01000	advantage of the two dimensional nature of these tasks. Moreover,
01100	the conveyor demonstrations relied on the contrast between shiny metalic parts 
01200	and the black belt to simplify segmentation. Many industrial processes 
01300	share similar constraints or can be readily redesigned to do so.
01400	We thus expect a proliferation of industrial applications of 
01500	computer perception in the near future.